package util;

import models.SLA;

public class Globals {

	// Simulation
	public static double SIMULATION_TIME = 3600;
	public static int SIMULATION_STABILIZATION_CLOUDLETS = 0;
	public static final int SIMULATION_CLOUDLETS = 15000;
	public static final GSLA[][] GSLAS = 	{
		{new GSLA(new SLA(3.2465467616015684,0.95),	97.0), new GSLA(new SLA(5.45613193719573,0.8),	85.5)}
	  };

	
	



	
	/*{{new GSLA(new SLA(60.0,0.8), 59.2), new GSLA(new SLA(17.0,0.95), 100)},
										  {new GSLA(new SLA(21.0,0.8), 91.1), new GSLA(new SLA(20.0,0.8), 92.0)}};*/
	

	
	public static boolean STABILIZATION_ONLY = true;
	public static boolean OBSERVATION_STUDY_ONLY = true;
	public static final int DEDICATED_STARTING_M = 4;
	public static final int SHARED_STARTING_M = 1;


	
	// Distributions
	public static final long SEEDS[] = {12573, 2011356505, 1846812177, 154680585, 2126456897, 
		/*altri semi numeri di marsenne*/131071, 524287, 2147483647, /*numeri primi*/ 10357, 9829,
		100129, 100271, 295073, 295319, 266281, 
		372173, 425207, 522017, 590839, 738247 };

	public static double PARETO_SHAPE = 5;//10;
	public static double PARETO_LOCATION = 800;//1800;
	public static final double U_95_PERCENT = 1.6448536;

	// Cloudlets
	public static final double CLOUDLET_LENGTH_MEAN = 1000;
	public static final long CLOUDLET_FILE_SIZE = 0;
	public static final long CLOUDLET_OUTPUT_SIZE = 0;
	public static final int CPU_PER_CLOUDLET = 1;

	// Virtual Machines
	public static final double VM_MIPS = 1000;
	public static final long VM_SIZE = 10000;
	public static final String VM_NAME = "vm";
	public static final int VM_CPU_NUMBER = 1;
	public static final int VM_RAM = 256;
	public static final long VM_BW = 1000;

	// Brokers
	public static final String FCFS_BROKER = "FCFS";
	public static final String HOL_BROKER = "HOL";
	public static final String PDP_BROKER = "PDP";

	// Hosts
	public static final long HOST_STORAGE = 1000000; 
	public static final int HOST_RAM = 2048;
	public static final int HOST_BW = 10000;
	
	// PEs
	public static final double PE_MIPS = 2000;

	// Datacenter
	public static final String DATACENTER_NAME = "Datacenter-0";
	public static final String DATACENTER_ARCH = "x86";
	public static final String DATACENTER_OS = "Linux";
	public static final String DATACENTER_VMM = "Xen";
	public static final double DATACENTER_TIME_ZONE = 2.0;
	public static final double DATACENTER_COST_PER_CPU = 1.0;
	public static final double DATACENTER_COST_PER_MEM = 0.00;
	public static final double DATACENTER_COST_PER_STORAGE = 0.0;
	public static final double DATACENTER_COST_PER_BW = 0.0;


	// Debug
	public static boolean DEBUG_VERBOSE = false;
	public static boolean DEBUG_MINIMAL = false;
	public static boolean DEBUG_SLA_ONLY = false;
	public static boolean DEBUG_PROB = false;
	public static boolean DEBUG_SINTETIC_CLOULET_SUBMIT_AND_RETURN = false;
	public static boolean DEBUG_QUEUE = false;
	public static boolean DEBUG_ALERT = false;

}
